package com.zhongwang.mms.gen.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class BChangeReceiveLogExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BChangeReceiveLogExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andCrlIdIsNull() {
            addCriterion("crl_id is null");
            return (Criteria) this;
        }

        public Criteria andCrlIdIsNotNull() {
            addCriterion("crl_id is not null");
            return (Criteria) this;
        }

        public Criteria andCrlIdEqualTo(Integer value) {
            addCriterion("crl_id =", value, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlIdNotEqualTo(Integer value) {
            addCriterion("crl_id <>", value, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlIdGreaterThan(Integer value) {
            addCriterion("crl_id >", value, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("crl_id >=", value, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlIdLessThan(Integer value) {
            addCriterion("crl_id <", value, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlIdLessThanOrEqualTo(Integer value) {
            addCriterion("crl_id <=", value, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlIdIn(List<Integer> values) {
            addCriterion("crl_id in", values, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlIdNotIn(List<Integer> values) {
            addCriterion("crl_id not in", values, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlIdBetween(Integer value1, Integer value2) {
            addCriterion("crl_id between", value1, value2, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlIdNotBetween(Integer value1, Integer value2) {
            addCriterion("crl_id not between", value1, value2, "crlId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdIsNull() {
            addCriterion("crl_rpp_id is null");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdIsNotNull() {
            addCriterion("crl_rpp_id is not null");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdEqualTo(Integer value) {
            addCriterion("crl_rpp_id =", value, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdNotEqualTo(Integer value) {
            addCriterion("crl_rpp_id <>", value, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdGreaterThan(Integer value) {
            addCriterion("crl_rpp_id >", value, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("crl_rpp_id >=", value, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdLessThan(Integer value) {
            addCriterion("crl_rpp_id <", value, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdLessThanOrEqualTo(Integer value) {
            addCriterion("crl_rpp_id <=", value, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdIn(List<Integer> values) {
            addCriterion("crl_rpp_id in", values, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdNotIn(List<Integer> values) {
            addCriterion("crl_rpp_id not in", values, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdBetween(Integer value1, Integer value2) {
            addCriterion("crl_rpp_id between", value1, value2, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlRppIdNotBetween(Integer value1, Integer value2) {
            addCriterion("crl_rpp_id not between", value1, value2, "crlRppId");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescIsNull() {
            addCriterion("crl_mat_desc is null");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescIsNotNull() {
            addCriterion("crl_mat_desc is not null");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescEqualTo(String value) {
            addCriterion("crl_mat_desc =", value, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescNotEqualTo(String value) {
            addCriterion("crl_mat_desc <>", value, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescGreaterThan(String value) {
            addCriterion("crl_mat_desc >", value, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescGreaterThanOrEqualTo(String value) {
            addCriterion("crl_mat_desc >=", value, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescLessThan(String value) {
            addCriterion("crl_mat_desc <", value, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescLessThanOrEqualTo(String value) {
            addCriterion("crl_mat_desc <=", value, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescLike(String value) {
            addCriterion("crl_mat_desc like", value, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescNotLike(String value) {
            addCriterion("crl_mat_desc not like", value, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescIn(List<String> values) {
            addCriterion("crl_mat_desc in", values, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescNotIn(List<String> values) {
            addCriterion("crl_mat_desc not in", values, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescBetween(String value1, String value2) {
            addCriterion("crl_mat_desc between", value1, value2, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlMatDescNotBetween(String value1, String value2) {
            addCriterion("crl_mat_desc not between", value1, value2, "crlMatDesc");
            return (Criteria) this;
        }

        public Criteria andCrlNumIsNull() {
            addCriterion("crl_num is null");
            return (Criteria) this;
        }

        public Criteria andCrlNumIsNotNull() {
            addCriterion("crl_num is not null");
            return (Criteria) this;
        }

        public Criteria andCrlNumEqualTo(Double value) {
            addCriterion("crl_num =", value, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlNumNotEqualTo(Double value) {
            addCriterion("crl_num <>", value, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlNumGreaterThan(Double value) {
            addCriterion("crl_num >", value, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlNumGreaterThanOrEqualTo(Double value) {
            addCriterion("crl_num >=", value, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlNumLessThan(Double value) {
            addCriterion("crl_num <", value, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlNumLessThanOrEqualTo(Double value) {
            addCriterion("crl_num <=", value, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlNumIn(List<Double> values) {
            addCriterion("crl_num in", values, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlNumNotIn(List<Double> values) {
            addCriterion("crl_num not in", values, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlNumBetween(Double value1, Double value2) {
            addCriterion("crl_num between", value1, value2, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlNumNotBetween(Double value1, Double value2) {
            addCriterion("crl_num not between", value1, value2, "crlNum");
            return (Criteria) this;
        }

        public Criteria andCrlUnitIsNull() {
            addCriterion("crl_unit is null");
            return (Criteria) this;
        }

        public Criteria andCrlUnitIsNotNull() {
            addCriterion("crl_unit is not null");
            return (Criteria) this;
        }

        public Criteria andCrlUnitEqualTo(String value) {
            addCriterion("crl_unit =", value, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitNotEqualTo(String value) {
            addCriterion("crl_unit <>", value, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitGreaterThan(String value) {
            addCriterion("crl_unit >", value, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitGreaterThanOrEqualTo(String value) {
            addCriterion("crl_unit >=", value, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitLessThan(String value) {
            addCriterion("crl_unit <", value, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitLessThanOrEqualTo(String value) {
            addCriterion("crl_unit <=", value, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitLike(String value) {
            addCriterion("crl_unit like", value, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitNotLike(String value) {
            addCriterion("crl_unit not like", value, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitIn(List<String> values) {
            addCriterion("crl_unit in", values, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitNotIn(List<String> values) {
            addCriterion("crl_unit not in", values, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitBetween(String value1, String value2) {
            addCriterion("crl_unit between", value1, value2, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlUnitNotBetween(String value1, String value2) {
            addCriterion("crl_unit not between", value1, value2, "crlUnit");
            return (Criteria) this;
        }

        public Criteria andCrlStandardIsNull() {
            addCriterion("crl_standard is null");
            return (Criteria) this;
        }

        public Criteria andCrlStandardIsNotNull() {
            addCriterion("crl_standard is not null");
            return (Criteria) this;
        }

        public Criteria andCrlStandardEqualTo(String value) {
            addCriterion("crl_standard =", value, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardNotEqualTo(String value) {
            addCriterion("crl_standard <>", value, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardGreaterThan(String value) {
            addCriterion("crl_standard >", value, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardGreaterThanOrEqualTo(String value) {
            addCriterion("crl_standard >=", value, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardLessThan(String value) {
            addCriterion("crl_standard <", value, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardLessThanOrEqualTo(String value) {
            addCriterion("crl_standard <=", value, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardLike(String value) {
            addCriterion("crl_standard like", value, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardNotLike(String value) {
            addCriterion("crl_standard not like", value, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardIn(List<String> values) {
            addCriterion("crl_standard in", values, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardNotIn(List<String> values) {
            addCriterion("crl_standard not in", values, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardBetween(String value1, String value2) {
            addCriterion("crl_standard between", value1, value2, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlStandardNotBetween(String value1, String value2) {
            addCriterion("crl_standard not between", value1, value2, "crlStandard");
            return (Criteria) this;
        }

        public Criteria andCrlBrandIsNull() {
            addCriterion("crl_brand is null");
            return (Criteria) this;
        }

        public Criteria andCrlBrandIsNotNull() {
            addCriterion("crl_brand is not null");
            return (Criteria) this;
        }

        public Criteria andCrlBrandEqualTo(String value) {
            addCriterion("crl_brand =", value, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandNotEqualTo(String value) {
            addCriterion("crl_brand <>", value, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandGreaterThan(String value) {
            addCriterion("crl_brand >", value, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandGreaterThanOrEqualTo(String value) {
            addCriterion("crl_brand >=", value, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandLessThan(String value) {
            addCriterion("crl_brand <", value, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandLessThanOrEqualTo(String value) {
            addCriterion("crl_brand <=", value, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandLike(String value) {
            addCriterion("crl_brand like", value, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandNotLike(String value) {
            addCriterion("crl_brand not like", value, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandIn(List<String> values) {
            addCriterion("crl_brand in", values, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandNotIn(List<String> values) {
            addCriterion("crl_brand not in", values, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandBetween(String value1, String value2) {
            addCriterion("crl_brand between", value1, value2, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlBrandNotBetween(String value1, String value2) {
            addCriterion("crl_brand not between", value1, value2, "crlBrand");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkIsNull() {
            addCriterion("crl_remark is null");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkIsNotNull() {
            addCriterion("crl_remark is not null");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkEqualTo(String value) {
            addCriterion("crl_remark =", value, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkNotEqualTo(String value) {
            addCriterion("crl_remark <>", value, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkGreaterThan(String value) {
            addCriterion("crl_remark >", value, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("crl_remark >=", value, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkLessThan(String value) {
            addCriterion("crl_remark <", value, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkLessThanOrEqualTo(String value) {
            addCriterion("crl_remark <=", value, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkLike(String value) {
            addCriterion("crl_remark like", value, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkNotLike(String value) {
            addCriterion("crl_remark not like", value, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkIn(List<String> values) {
            addCriterion("crl_remark in", values, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkNotIn(List<String> values) {
            addCriterion("crl_remark not in", values, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkBetween(String value1, String value2) {
            addCriterion("crl_remark between", value1, value2, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlRemarkNotBetween(String value1, String value2) {
            addCriterion("crl_remark not between", value1, value2, "crlRemark");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramIsNull() {
            addCriterion("crl_diagram is null");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramIsNotNull() {
            addCriterion("crl_diagram is not null");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramEqualTo(String value) {
            addCriterion("crl_diagram =", value, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramNotEqualTo(String value) {
            addCriterion("crl_diagram <>", value, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramGreaterThan(String value) {
            addCriterion("crl_diagram >", value, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramGreaterThanOrEqualTo(String value) {
            addCriterion("crl_diagram >=", value, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramLessThan(String value) {
            addCriterion("crl_diagram <", value, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramLessThanOrEqualTo(String value) {
            addCriterion("crl_diagram <=", value, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramLike(String value) {
            addCriterion("crl_diagram like", value, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramNotLike(String value) {
            addCriterion("crl_diagram not like", value, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramIn(List<String> values) {
            addCriterion("crl_diagram in", values, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramNotIn(List<String> values) {
            addCriterion("crl_diagram not in", values, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramBetween(String value1, String value2) {
            addCriterion("crl_diagram between", value1, value2, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlDiagramNotBetween(String value1, String value2) {
            addCriterion("crl_diagram not between", value1, value2, "crlDiagram");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeIsNull() {
            addCriterion("crl_assist_type is null");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeIsNotNull() {
            addCriterion("crl_assist_type is not null");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeEqualTo(String value) {
            addCriterion("crl_assist_type =", value, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeNotEqualTo(String value) {
            addCriterion("crl_assist_type <>", value, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeGreaterThan(String value) {
            addCriterion("crl_assist_type >", value, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeGreaterThanOrEqualTo(String value) {
            addCriterion("crl_assist_type >=", value, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeLessThan(String value) {
            addCriterion("crl_assist_type <", value, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeLessThanOrEqualTo(String value) {
            addCriterion("crl_assist_type <=", value, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeLike(String value) {
            addCriterion("crl_assist_type like", value, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeNotLike(String value) {
            addCriterion("crl_assist_type not like", value, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeIn(List<String> values) {
            addCriterion("crl_assist_type in", values, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeNotIn(List<String> values) {
            addCriterion("crl_assist_type not in", values, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeBetween(String value1, String value2) {
            addCriterion("crl_assist_type between", value1, value2, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlAssistTypeNotBetween(String value1, String value2) {
            addCriterion("crl_assist_type not between", value1, value2, "crlAssistType");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreIsNull() {
            addCriterion("crl_use_store is null");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreIsNotNull() {
            addCriterion("crl_use_store is not null");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreEqualTo(Integer value) {
            addCriterion("crl_use_store =", value, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreNotEqualTo(Integer value) {
            addCriterion("crl_use_store <>", value, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreGreaterThan(Integer value) {
            addCriterion("crl_use_store >", value, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("crl_use_store >=", value, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreLessThan(Integer value) {
            addCriterion("crl_use_store <", value, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreLessThanOrEqualTo(Integer value) {
            addCriterion("crl_use_store <=", value, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreIn(List<Integer> values) {
            addCriterion("crl_use_store in", values, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreNotIn(List<Integer> values) {
            addCriterion("crl_use_store not in", values, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreBetween(Integer value1, Integer value2) {
            addCriterion("crl_use_store between", value1, value2, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlUseStoreNotBetween(Integer value1, Integer value2) {
            addCriterion("crl_use_store not between", value1, value2, "crlUseStore");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlIsNull() {
            addCriterion("crl_extend_url is null");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlIsNotNull() {
            addCriterion("crl_extend_url is not null");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlEqualTo(String value) {
            addCriterion("crl_extend_url =", value, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlNotEqualTo(String value) {
            addCriterion("crl_extend_url <>", value, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlGreaterThan(String value) {
            addCriterion("crl_extend_url >", value, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlGreaterThanOrEqualTo(String value) {
            addCriterion("crl_extend_url >=", value, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlLessThan(String value) {
            addCriterion("crl_extend_url <", value, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlLessThanOrEqualTo(String value) {
            addCriterion("crl_extend_url <=", value, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlLike(String value) {
            addCriterion("crl_extend_url like", value, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlNotLike(String value) {
            addCriterion("crl_extend_url not like", value, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlIn(List<String> values) {
            addCriterion("crl_extend_url in", values, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlNotIn(List<String> values) {
            addCriterion("crl_extend_url not in", values, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlBetween(String value1, String value2) {
            addCriterion("crl_extend_url between", value1, value2, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlExtendUrlNotBetween(String value1, String value2) {
            addCriterion("crl_extend_url not between", value1, value2, "crlExtendUrl");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdIsNull() {
            addCriterion("crl_src_id is null");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdIsNotNull() {
            addCriterion("crl_src_id is not null");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdEqualTo(Integer value) {
            addCriterion("crl_src_id =", value, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdNotEqualTo(Integer value) {
            addCriterion("crl_src_id <>", value, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdGreaterThan(Integer value) {
            addCriterion("crl_src_id >", value, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("crl_src_id >=", value, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdLessThan(Integer value) {
            addCriterion("crl_src_id <", value, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdLessThanOrEqualTo(Integer value) {
            addCriterion("crl_src_id <=", value, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdIn(List<Integer> values) {
            addCriterion("crl_src_id in", values, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdNotIn(List<Integer> values) {
            addCriterion("crl_src_id not in", values, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdBetween(Integer value1, Integer value2) {
            addCriterion("crl_src_id between", value1, value2, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSrcIdNotBetween(Integer value1, Integer value2) {
            addCriterion("crl_src_id not between", value1, value2, "crlSrcId");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeIsNull() {
            addCriterion("crl_split_plan_type is null");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeIsNotNull() {
            addCriterion("crl_split_plan_type is not null");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeEqualTo(String value) {
            addCriterion("crl_split_plan_type =", value, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeNotEqualTo(String value) {
            addCriterion("crl_split_plan_type <>", value, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeGreaterThan(String value) {
            addCriterion("crl_split_plan_type >", value, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeGreaterThanOrEqualTo(String value) {
            addCriterion("crl_split_plan_type >=", value, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeLessThan(String value) {
            addCriterion("crl_split_plan_type <", value, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeLessThanOrEqualTo(String value) {
            addCriterion("crl_split_plan_type <=", value, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeLike(String value) {
            addCriterion("crl_split_plan_type like", value, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeNotLike(String value) {
            addCriterion("crl_split_plan_type not like", value, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeIn(List<String> values) {
            addCriterion("crl_split_plan_type in", values, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeNotIn(List<String> values) {
            addCriterion("crl_split_plan_type not in", values, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeBetween(String value1, String value2) {
            addCriterion("crl_split_plan_type between", value1, value2, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlSplitPlanTypeNotBetween(String value1, String value2) {
            addCriterion("crl_split_plan_type not between", value1, value2, "crlSplitPlanType");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdIsNull() {
            addCriterion("crl_ancestors_id is null");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdIsNotNull() {
            addCriterion("crl_ancestors_id is not null");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdEqualTo(Integer value) {
            addCriterion("crl_ancestors_id =", value, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdNotEqualTo(Integer value) {
            addCriterion("crl_ancestors_id <>", value, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdGreaterThan(Integer value) {
            addCriterion("crl_ancestors_id >", value, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("crl_ancestors_id >=", value, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdLessThan(Integer value) {
            addCriterion("crl_ancestors_id <", value, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdLessThanOrEqualTo(Integer value) {
            addCriterion("crl_ancestors_id <=", value, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdIn(List<Integer> values) {
            addCriterion("crl_ancestors_id in", values, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdNotIn(List<Integer> values) {
            addCriterion("crl_ancestors_id not in", values, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdBetween(Integer value1, Integer value2) {
            addCriterion("crl_ancestors_id between", value1, value2, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlAncestorsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("crl_ancestors_id not between", value1, value2, "crlAncestorsId");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeIsNull() {
            addCriterion("crl_change_type is null");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeIsNotNull() {
            addCriterion("crl_change_type is not null");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeEqualTo(Integer value) {
            addCriterion("crl_change_type =", value, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeNotEqualTo(Integer value) {
            addCriterion("crl_change_type <>", value, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeGreaterThan(Integer value) {
            addCriterion("crl_change_type >", value, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("crl_change_type >=", value, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeLessThan(Integer value) {
            addCriterion("crl_change_type <", value, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeLessThanOrEqualTo(Integer value) {
            addCriterion("crl_change_type <=", value, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeIn(List<Integer> values) {
            addCriterion("crl_change_type in", values, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeNotIn(List<Integer> values) {
            addCriterion("crl_change_type not in", values, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeBetween(Integer value1, Integer value2) {
            addCriterion("crl_change_type between", value1, value2, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("crl_change_type not between", value1, value2, "crlChangeType");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeIsNull() {
            addCriterion("crl_change_log_code is null");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeIsNotNull() {
            addCriterion("crl_change_log_code is not null");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeEqualTo(String value) {
            addCriterion("crl_change_log_code =", value, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeNotEqualTo(String value) {
            addCriterion("crl_change_log_code <>", value, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeGreaterThan(String value) {
            addCriterion("crl_change_log_code >", value, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeGreaterThanOrEqualTo(String value) {
            addCriterion("crl_change_log_code >=", value, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeLessThan(String value) {
            addCriterion("crl_change_log_code <", value, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeLessThanOrEqualTo(String value) {
            addCriterion("crl_change_log_code <=", value, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeLike(String value) {
            addCriterion("crl_change_log_code like", value, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeNotLike(String value) {
            addCriterion("crl_change_log_code not like", value, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeIn(List<String> values) {
            addCriterion("crl_change_log_code in", values, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeNotIn(List<String> values) {
            addCriterion("crl_change_log_code not in", values, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeBetween(String value1, String value2) {
            addCriterion("crl_change_log_code between", value1, value2, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeLogCodeNotBetween(String value1, String value2) {
            addCriterion("crl_change_log_code not between", value1, value2, "crlChangeLogCode");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonIsNull() {
            addCriterion("crl_change_reason is null");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonIsNotNull() {
            addCriterion("crl_change_reason is not null");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonEqualTo(String value) {
            addCriterion("crl_change_reason =", value, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonNotEqualTo(String value) {
            addCriterion("crl_change_reason <>", value, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonGreaterThan(String value) {
            addCriterion("crl_change_reason >", value, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonGreaterThanOrEqualTo(String value) {
            addCriterion("crl_change_reason >=", value, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonLessThan(String value) {
            addCriterion("crl_change_reason <", value, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonLessThanOrEqualTo(String value) {
            addCriterion("crl_change_reason <=", value, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonLike(String value) {
            addCriterion("crl_change_reason like", value, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonNotLike(String value) {
            addCriterion("crl_change_reason not like", value, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonIn(List<String> values) {
            addCriterion("crl_change_reason in", values, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonNotIn(List<String> values) {
            addCriterion("crl_change_reason not in", values, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonBetween(String value1, String value2) {
            addCriterion("crl_change_reason between", value1, value2, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlChangeReasonNotBetween(String value1, String value2) {
            addCriterion("crl_change_reason not between", value1, value2, "crlChangeReason");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateIsNull() {
            addCriterion("crl_receive_date is null");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateIsNotNull() {
            addCriterion("crl_receive_date is not null");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateEqualTo(Date value) {
            addCriterionForJDBCDate("crl_receive_date =", value, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("crl_receive_date <>", value, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateGreaterThan(Date value) {
            addCriterionForJDBCDate("crl_receive_date >", value, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("crl_receive_date >=", value, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateLessThan(Date value) {
            addCriterionForJDBCDate("crl_receive_date <", value, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("crl_receive_date <=", value, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateIn(List<Date> values) {
            addCriterionForJDBCDate("crl_receive_date in", values, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("crl_receive_date not in", values, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("crl_receive_date between", value1, value2, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("crl_receive_date not between", value1, value2, "crlReceiveDate");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidIsNull() {
            addCriterion("crl_receive_uid is null");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidIsNotNull() {
            addCriterion("crl_receive_uid is not null");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidEqualTo(Integer value) {
            addCriterion("crl_receive_uid =", value, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidNotEqualTo(Integer value) {
            addCriterion("crl_receive_uid <>", value, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidGreaterThan(Integer value) {
            addCriterion("crl_receive_uid >", value, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("crl_receive_uid >=", value, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidLessThan(Integer value) {
            addCriterion("crl_receive_uid <", value, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidLessThanOrEqualTo(Integer value) {
            addCriterion("crl_receive_uid <=", value, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidIn(List<Integer> values) {
            addCriterion("crl_receive_uid in", values, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidNotIn(List<Integer> values) {
            addCriterion("crl_receive_uid not in", values, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidBetween(Integer value1, Integer value2) {
            addCriterion("crl_receive_uid between", value1, value2, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlReceiveUidNotBetween(Integer value1, Integer value2) {
            addCriterion("crl_receive_uid not between", value1, value2, "crlReceiveUid");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpIsNull() {
            addCriterion("crl_drive_ip is null");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpIsNotNull() {
            addCriterion("crl_drive_ip is not null");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpEqualTo(String value) {
            addCriterion("crl_drive_ip =", value, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpNotEqualTo(String value) {
            addCriterion("crl_drive_ip <>", value, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpGreaterThan(String value) {
            addCriterion("crl_drive_ip >", value, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpGreaterThanOrEqualTo(String value) {
            addCriterion("crl_drive_ip >=", value, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpLessThan(String value) {
            addCriterion("crl_drive_ip <", value, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpLessThanOrEqualTo(String value) {
            addCriterion("crl_drive_ip <=", value, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpLike(String value) {
            addCriterion("crl_drive_ip like", value, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpNotLike(String value) {
            addCriterion("crl_drive_ip not like", value, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpIn(List<String> values) {
            addCriterion("crl_drive_ip in", values, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpNotIn(List<String> values) {
            addCriterion("crl_drive_ip not in", values, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpBetween(String value1, String value2) {
            addCriterion("crl_drive_ip between", value1, value2, "crlDriveIp");
            return (Criteria) this;
        }

        public Criteria andCrlDriveIpNotBetween(String value1, String value2) {
            addCriterion("crl_drive_ip not between", value1, value2, "crlDriveIp");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}